Speed sensors used in aquatic applications such as those used to determine the speed of a vessel moving through water have become more accurate at the cost of increased complexity. In the past, speed sensors of the paddle-wheel type were simple but are now outdated due to the fact that they are vulnerable to damage by debris in the water and often impart an undesirable drag on the boat, thus, impeding forward motion. More advanced speed sensors include sophisticated electronics coupled to ultrasonic transducer pairs spaced on a motion axis of a vessel to monitor a forward speed.
According to suggested ultrasonic speed detection methods, two spaced transducers are used to monitor regions beneath the bottom-side of a vessel. Ultrasonic signals from each transducer are emitted towards randomly located reflective particles from such objects as air bubbles present in the water, while corresponding reflected signals are sampled by each respective transducer. Since the monitoring transducers are located along an axis in line with the forward motion of the vessel, each transducer monitors a substantially similar set of randomly located reflective surfaces when the vessel has a forward motion. In other words, a first sensor detects the reflections from a set of randomly located particles, while a second sensor detects reflections off a substantially similar set of particles at a time shift based on the forward motion. Accordingly, a time difference associated with the two substantially matching but time-shifted signals can then be used in conjunction with transducer separation to determine vessel speed.
There are drawbacks associated with the aforementioned side-by-side ultrasonic transducer speed sensor. For example, significant signal processing power must typically be employed to accurately determine vessel speed since two entire sets of sampled data corresponding to the location of the vessel at a given instant in time must be analyzed to accurately determine the time difference between the two sampled reflection signals. This is a heavy price to pay for accurately determining speed of a vessel.
The present invention provides several novel improvements for reducing the complexity of processing and comparing signals. Generally, the signal processing improvements disclosed herein reduce the complexity of determining a time difference between two similar signals, including the processing platform upon which the algorithm runs. In one application of the invention, a simplified set of data samples are processed to derive vessel speed, without unduly compromising accuracy of the speed sensor.
The preferred embodiment of the present invention includes two receivers, each for respectively monitoring a first and second region. A first and second signal are generated from each respective receiver based upon the intensity of corresponding reflections in the first and second monitored regions. Using these signals as inputs, a compare circuit is then used to compare an intensity of a reflection signal with a respective running threshold signal, wherein results of the compare are stored in memory. Based on this stored data, a time difference is generated between the first and second reflection signal.
In a preferred embodiment, the compare circuit generates a single bit result, where a binary 1 is stored in a memory device when the intensity of a reflection signal is greater than a respective running threshold signal. Conversely, a binary 0 is recorded for a compare sample when the respective running threshold is greater than the intensity of the reflection signal.
As discussed, the running threshold is preferably an historical composite of the intensity of the reflection signal in a monitored region. The running threshold is preferably generated based on the running average of the respective reflection signal in a particular monitored layer, i.e., a range bin, plus an offset between about 5 and 20 dB. An offset of 12 dB is used in a preferred embodiment.
In one embodiment, the memory device for storing binary compare results is a pair of tapped shift registers, in which samples of each monitored region are periodically stored. Based on time-stamped data in the tapped shift register, a time difference between a first and second reflection signal is calculated.
The present invention relies on a unique combination of auto-correlation and cross-correlation functions to determine a time-difference between signals. For example, an auto-correlation function tracks the degree to which a signal over a period of time is similar to itself. Essentially, generating the auto-correlation function involves convolving a signal onto itself. The cross correlation function, on the other hand, compares the likeness of two different signals with respect to each other. A combination of the auto-correlation of each signal and cross-correlation between the two signals is used to generate a correlation function for calculating a time difference between the two reflection signals.
The correlation function is preferably based on a discrete version of the auto-correlation function of the first and second reflection signal less twice the cross correlation between the first and second signal. For example, the correlation function is generated based on data at discrete points in time. Preferably, the correlation function is generated incrementally over time based on data at logarithmically spaced points in the tapped shift registers.
In one embodiment, monitoring contiguous and adjacent square-shaped regions coupled with the method of xe2x80x9cdigitizingxe2x80x9d a reflection signal, i.e., single bit storage of a compare result, substantially linearizes the correlation function. Hence, it is possible to calculate a time difference between the first and second reflection signal from the correlation function using linear mathematics. Either or both interpolation and extrapolation of points in the correlation function are used to determine a zero-crossing point corresponding with a time difference between the first and second signal. Mathematically, the zero-crossing corresponds to the time difference between two substantially similar reflection signals.
The shape of the monitored region for each transducer is ideally rectangular such as a square. To further optimize accuracy of the device and simplify the mathematics associated with the correlation function, the transducers are preferably positioned to monitor two non-overlapping and contiguous rectangular or square regions because such positioning contributes to the generation of a linear time correlation function.
In one embodiment, a predetermined single layer region suspending randomly located reflective surfaces is monitored to generate the time difference function. In a preferred embodiment, however, multiple layers at various depths are simultaneously monitored, where data is averaged to produce a more accurate time difference correlation function. Specifically, calculating speed based on echo signals at multiple depths results in more accurate readings because some layers may be void of reflective particles altogether. Typically, one of the layers monitored includes a layer 3 to 5 inches beneath, for example, a boat. In the preferred embodiment, a set of shift registers is provided for each monitored layer or range bin, while a processing system simultaneously generates a difference correlation function based on sample data at multiple layers.
One aspect of the present invention is to generate a correlation function based on a substantially reduced data set. For example, the single bit compare result data stored in the shift registers is used to generate a function for determining the time difference between signals. Although only a single bit is stored for a sample compare, each bit contains enough information about the corresponding reflection signal that an accurate time difference between signals can be determined based on processing data at selected tap points of the shift register following each sample. For example, 7 logarithmically spaced data taps on the shift registers provide enough information in a 65 bit wide shift register to generate an accurate correlation function.
Another aspect of the present invention is to incrementally generate a correlation function based on tapped data from a shift register such as 65 bits wide. Based on this topology, there is no need to accumulate and simultaneously process an exorbitant amount of data such as 16 bit A/D readings. Rather, the correlation function or equation used in the present invention is generated incrementally while only a reduced set of sample data is stored at any given time. For instance, a relatively small memory device provides sufficient storage space for data samples. Moreover, a relatively simple processing device is required to process such data.
These and other advantages of the present invention will be described in more detail throughout this specification.